ã¹ã±ãŒã©ãã«ã§ä¿å®ããããWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®é¢æ°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã«çŠç¹ãåœãŠãŠãããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°åææè¡ãæ¢ããŸããå®çšçãªæŠç¥ãšãã¹ããã©ã¯ãã£ã¹ãåŠã³ãŸãããã
ããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°åæïŒé¢æ°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³
ãµãŒããŒã¬ã¹ã¢ãŒããã¯ãã£ã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ãšãããã€ã®æ¹æ³ã«é©åœãèµ·ãããŠããŸããããã¯ãšã³ãã®ãµãŒããŒã¬ã¹é¢æ°ã¯å€§ããªæ¯æãåŸãŠããŸãããããã³ããšã³ãã§ãµãŒããŒã¬ã¹ã®ååãæŽ»çšããããšã§ãããã«å€§ããªå¯èœæ§ãéãããŸãã匷åãªææ³ã®1ã€ããããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°åæã§ãããç¹ã«é¢æ°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã«ãããã®ã§ãããã®ã¢ãããŒãã«ãããè€éãªããã³ããšã³ãããžãã¯ããæŽç·ŽããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãäœæããããã«é£éãããããšãã§ãããããå°ãããåå©çšå¯èœãªé¢æ°ã«åå²ã§ããŸãã
ããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°åæãšã¯äœã§ããïŒ
ããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°åæã«ã¯ãéåžžãAWS LambdaãNetlify FunctionsãVercel Functionsãªã©ã®ãã©ãããã©ãŒã ã䜿çšããŠãããã€ããããµãŒããŒã¬ã¹é¢æ°ã䜿çšããŠãããã³ããšã³ãããžãã¯ãæ§ç¯ããããšãå«ãŸããŸãããããã®é¢æ°ã¯ãAPIãªã¯ãšã¹ãããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãªã©ã®ã€ãã³ãã«ãã£ãŠããªã¬ãŒããããªã³ããã³ãã§å®è¡ãããŸããã¢ããªã·ãã¯ãªããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã®ä»£ããã«ã飿ºããŠåäœããç¬ç«ãã颿°ã®ãããã¯ãŒã¯ãäœæããŸãã
颿°åæãšã¯ãè€æ°ã®é¢æ°ãçµã¿åãããŠæ°ãã颿°ãäœæããããã»ã¹ã§ããããã³ããšã³ããµãŒããŒã¬ã¹ã®ã³ã³ããã¹ãã§ã¯ãç®çã®çµæãéæããããã«ãç°ãªããµãŒããŒã¬ã¹é¢æ°ãç¹å®ã®é åºã§æ¥ç¶ããããšãæå³ããŸããããã«ãããã³ãŒãã®åå©çšãã¢ãžã¥ãŒã«æ§ãããã³ã¡ã³ããã³ã¹ã®å®¹æããä¿é²ãããŸãã
颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ïŒã³ã¢ã³ã³ã»ãã
颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ã颿°ãé çªã«é£éãããç¹å®ã®é¢æ°åæãã¿ãŒã³ã§ãã1ã€ã®é¢æ°ã®åºåãæ¬¡ã®é¢æ°ã®å ¥åã«ãªããããŒã¿ã®å€æãšåŠçã®ãã€ãã©ã€ã³ãäœæãããŸããããã¯ãããã³ããšã³ãã§ã®è€éãªã¯ãŒã¯ãããŒãŸãã¯ããŒã¿ã®äŸåé¢ä¿ã®åŠçã«ç¹ã«åœ¹ç«ã¡ãŸãã
次ã®ã·ããªãªãæ³åããŠãã ããã
- å€éšAPIããããŒã¿ããã§ããããŸãã
- ããã³ããšã³ãã®ããŒã¿ã¢ãã«ã«äžèŽããããã«ããŒã¿ã倿ããŸãã
- äžè²«æ§ãšå®å šæ§ã«ã€ããŠããŒã¿ãæ€èšŒããŸãã
- åŠçãããããŒã¿ãããŒã«ã«ã¹ãã¬ãŒãžãŸãã¯ããŒã¿ããŒã¹ã«ä¿åããŸãã
- æçµçãªããŒã¿ã«åºã¥ããŠUIãæŽæ°ããŸãã
ãã®ããžãã¯å šäœãåäžã®é¢æ°ãŸãã¯ã³ã³ããŒãã³ãå ã«å®è£ ãã代ããã«ããã€ãã©ã€ã³ã®ç¹å®ã®æé ãæ åœããåå¥ã®ãµãŒããŒã¬ã¹é¢æ°ã«åå²ã§ããŸãã颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã䜿çšãããšããããã®é¢æ°ãã·ãŒã ã¬ã¹ã«æ¥ç¶ãã颿°éã®ããŒã¿ã®æµãã管çã§ããŸãã
颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®å©ç¹
- ã³ãŒãã®ã¢ãžã¥ãŒã«æ§ã®åäžïŒè€éãªããžãã¯ãããå°ãããç¬ç«ãã颿°ã«åå²ããããšã§ãã³ãŒãããŒã¹ãããã¢ãžã¥ãŒã«åãããçè§£ãããããªããŸããå颿°ã«ã¯ç¹å®ã®è²¬ä»»ããããããæšè«ãšãã¹ãã容æã«ãªããŸãã
- ã³ãŒãã®åå©çšæ§ã®åäžïŒåã ã®é¢æ°ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããŸããŸãªéšåã§åå©çšã§ãããããã³ãŒãã®éè€ãæžããã¡ã³ããã³ã¹æ§ãåäžããŸããããšãã°ãããŒã¿æ€èšŒé¢æ°ã¯ãè€æ°ã®é¢æ°ãã§ãŒã³ã§äœ¿çšã§ããŸãã
- ã¹ã±ãŒã©ããªãã£ã®åäžïŒãµãŒããŒã¬ã¹é¢æ°ã¯ãéèŠã«åºã¥ããŠèªåçã«ã¹ã±ãŒã«ãããããããã³ããšã³ãã¯ããã©ãŒãã³ã¹ãäœäžãããããšãªããããŒã¯ãã©ãã£ãã¯ãåŠçã§ããŸãããã§ãŒã³å ã®å颿°ã¯åå¥ã«ã¹ã±ãŒã«ã§ããããããªãœãŒã¹ã®äœ¿çšçãæé©åãããŸãã
- ãã¹ãã®ç°¡çŽ åïŒå颿°ã¯åå¥ã«ãã¹ãã§ããããããã°ã®ç¹å®ãšä¿®æ£ã容æã«ãªããŸããäŸåé¢ä¿ãã¢ãã¯ããŠããã¹ã察象ã®é¢æ°ãåé¢ããããšãã§ããŸãã
- è€éãã®è»œæžïŒè€éãªåé¡ãããå°ããã管çããããéšåã«åå²ããããšã§ã颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³å šäœã®è€éãã軜æžããŸãã
- ã¡ã³ããã³ã¹æ§ã®åäžïŒãã§ãŒã³å ã®1ã€ã®é¢æ°ãžã®å€æŽã¯ãä»ã®é¢æ°ãžã®åœ±é¿ãæå°éã«æããããã¢ããªã±ãŒã·ã§ã³ã®ã¡ã³ããã³ã¹ãšæŽæ°ãæéã®çµéãšãšãã«å®¹æã«ãªããŸãã
- å¯èŠ³æž¬æ§ã®åäžïŒãã§ãŒã³å ã®å颿°ã®ç£èŠãšãã®ã³ã°ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãšåäœã«é¢ãã貎éãªæŽå¯ãæäŸããŸããããã«ãããåé¡ãè¿ éã«ç¹å®ããŠè§£æ±ºã§ããŸãã
颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®å®è£ ïŒå®è·µçãªäŸ
ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã§é¢æ°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãå®è£ ããæ¹æ³ã®ããã€ãã®å®è·µçãªäŸãèŠãŠã¿ãŸãããã
äŸ1ïŒãŠãŒã¶ãŒèªèšŒãããŒ
次ã®ããšãè¡ãå¿ èŠããããŠãŒã¶ãŒèªèšŒãããŒãèããŠã¿ãŸãããã
- èªèšŒãããã€ããŒïŒAuth0ãFirebaseãªã©ïŒã«å¯ŸããŠãŠãŒã¶ãŒã®è³æ Œæ å ±ãæ€èšŒããŸãã
- ããŒã¿ããŒã¹ãããŠãŒã¶ãŒãããã¡ã€ã«æ å ±ãååŸããŸãã
- å®å šãªèªèšŒã®ããã«JSON Web TokenïŒJWTïŒãçæããŸãã
- JWTãCookieãŸãã¯ããŒã«ã«ã¹ãã¬ãŒãžã«ä¿åããŸãã
- ãŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ããã·ã¥ããŒãã«ãªãã€ã¬ã¯ãããŸãã
颿°ãã§ãŒã³ã䜿çšããŠãã®ãããŒãå®è£ ã§ããŸãã
- `authenticateUser` 颿°ïŒãŠãŒã¶ãŒã®è³æ Œæ å ±ãæ€èšŒãããŠãŒã¶ãŒIDãè¿ããŸãã
- `getUserProfile` 颿°ïŒãŠãŒã¶ãŒIDã«åºã¥ããŠãŠãŒã¶ãŒãããã¡ã€ã«æ å ±ãååŸããŸãã
- `generateJWT` 颿°ïŒãŠãŒã¶ãŒãããã¡ã€ã«æ å ±ãå«ãJWTãçæããŸãã
- `storeJWT` 颿°ïŒJWTãCookieãŸãã¯ããŒã«ã«ã¹ãã¬ãŒãžã«ä¿åããŸãã
- `redirectToDashboard` 颿°ïŒãŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ããã·ã¥ããŒãã«ãªãã€ã¬ã¯ãããŸãã
ãã§ãŒã³å ã®å颿°ã¯ãåã®é¢æ°ã®åºåãå ¥åãšããŠåä¿¡ããç¹å®ã®ã¿ã¹ã¯ãå®è¡ããŸããæåŸã®é¢æ°ã¯UIãæŽæ°ãããŠãŒã¶ãŒããªãã€ã¬ã¯ãããŸãã
ã³ãŒãã¹ããããïŒæŠå¿µç - JavaScript/TypeScriptïŒïŒ
async function authenticateUser(credentials) {
// Verify credentials against authentication provider
const userId = await verifyCredentials(credentials);
return userId;
}
async function getUserProfile(userId) {
// Retrieve user profile from database
const userProfile = await fetchUserProfile(userId);
return userProfile;
}
async function generateJWT(userProfile) {
// Generate JWT
const token = await generateToken(userProfile);
return token;
}
async function storeJWT(token) {
// Store JWT in cookie or local storage
await storeToken(token);
return;
}
async function redirectToDashboard() {
// Redirect to dashboard
window.location.href = '/dashboard';
}
// Orchestration
async function authenticationFlow(credentials) {
const userId = await authenticateUser(credentials);
const userProfile = await getUserProfile(userId);
const token = await generateJWT(userProfile);
await storeJWT(token);
await redirectToDashboard();
}
ãã®äŸã¯ã颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãè€éãªèªèšŒãããŒãç°¡çŽ åããã³ãŒãã®æŽçãæ¹åããæ¹æ³ã瀺ããŠããŸãã
äŸ2ïŒEã³ããŒã¹è£œåæ€çŽ¢
次ã®ããšãè¡ãå¿ èŠãããEã³ããŒã¹ã¢ããªã±ãŒã·ã§ã³ãèããŠã¿ãŸãããã
- ãŠãŒã¶ãŒããæ€çŽ¢ã¯ãšãªãåä¿¡ããŸãã
- è€æ°ã®è£œåã«ã¿ãã°ãŸãã¯APIã«ã¯ãšãªãå®è¡ããŸãã
- æ€çŽ¢çµæããã£ã«ã¿ãªã³ã°ããŠã©ã³ã¯ä»ãããŸãã
- ããã³ããšã³ãã«è¡šç€ºããããã«çµæããã©ãŒãããããŸãã
颿°ãã§ãŒã³ã䜿çšããŠãããå®è£ ã§ããŸãã
- `getSearchQuery` 颿°ïŒãŠãŒã¶ãŒå ¥åããæ€çŽ¢ã¯ãšãªãæœåºããŸãã
- `queryProductCatalogs` 颿°ïŒæ€çŽ¢ã¯ãšãªã«åºã¥ããŠãè€æ°ã®è£œåã«ã¿ãã°ãŸãã¯APIã«ã¯ãšãªãå®è¡ããŸãã
- `filterAndRankResults` 颿°ïŒé¢é£æ§ããã®ä»ã®åºæºã«åºã¥ããŠãæ€çŽ¢çµæããã£ã«ã¿ãªã³ã°ããŠã©ã³ã¯ä»ãããŸãã
- `formatResults` 颿°ïŒããã³ããšã³ãã«è¡šç€ºããããã«çµæããã©ãŒãããããŸãã
- `displayResults` 颿°ïŒUIãæŽæ°ããŠæ€çŽ¢çµæã衚瀺ããŸãã
ãã®ã¢ãããŒãã䜿çšãããšãè€æ°ã®ããŒã¿ãœãŒã¹ã«äžŠè¡ããŠã¯ãšãªãå®è¡ããçµæãå¹ççã«éèšã§ããŸãããŸãããã§ãŒã³å ã®ä»ã®é¢æ°ã«åœ±é¿ãäžããããšãªãã補åã«ã¿ãã°ãç°¡åã«è¿œå ãŸãã¯åé€ããããšãã§ããŸãã
äŸ3ïŒãã©ãŒã ããŒã¿ã®åŠçãšæ€èšŒ
éä¿¡åã«æ€èšŒãšåŠçãå¿ èŠãªè€æ°ã®ãã£ãŒã«ããæã€è€éãªãã©ãŒã ãæ³åããŠãã ããã
- `validateField1` 颿°ïŒãã©ãŒã ã®æåã®ãã£ãŒã«ããæ€èšŒããŸãã
- `validateField2` 颿°ïŒãã©ãŒã ã®2çªç®ã®ãã£ãŒã«ããæ€èšŒããŸãã
- `transformData` 颿°ïŒæ€èšŒæžã¿ã®ããŒã¿ããã¹ãã¬ãŒãžãŸãã¯éä¿¡ã«é©ãã圢åŒã«å€æããŸãã
- `submitFormData` 颿°ïŒå€æãããããŒã¿ãããã¯ãšã³ãAPIã«éä¿¡ããŸãã
- `handleSubmissionResult` 颿°ïŒãã©ãŒã éä¿¡ã®çµæïŒæåãŸãã¯å€±æïŒãåŠçããŸãã
ãã®ã¢ãžã¥ãŒã«åŒã®ã¢ãããŒãã«ãããåæ€èšŒã¹ããããç¬ç«ããŠãããç°¡åã«ãã¹ãã§ããŸãã`transformData`颿°ã¯ãéä¿¡ã«å¿ èŠãªããŒã¿å€æãåŠçã§ããŸãã
颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®ããŒã«ãšãã¯ãããžãŒ
颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã«å®è£ ããã®ã«åœ¹ç«ã€ããã€ãã®ããŒã«ãšãã¯ãããžãŒããããŸãã
- AWS Step FunctionsïŒã¹ããŒããã·ã³ã䜿çšããŠè€éãªã¯ãŒã¯ãããŒãå®çŸ©ããã³å®è¡ã§ããããã«ãããŒãžãã®ãµãŒããŒã¬ã¹ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãµãŒãã¹ãäž»ã«ããã¯ãšã³ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã«äœ¿çšãããŸãããStep Functionsã¯ããã³ããšã³ãããããªã¬ãŒããŠããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã§ããŸãã
- Netlify Functions/Vercel FunctionsïŒããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°ã®ãããã€ãšç®¡çã®çµã¿èŸŒã¿ãµããŒããæäŸãããµãŒããŒã¬ã¹é¢æ°ãã©ãããã©ãŒã ããããã®ãã©ãããã©ãŒã ã¯ãå€ãã®å Žåãèªåã¹ã±ãŒãªã³ã°ããã®ã³ã°ãç£èŠãªã©ã®æ©èœãæäŸããŸãã
- GraphQLïŒå¿ èŠãªããŒã¿ã®ã¿ããã§ããã§ããAPIã®ã¯ãšãªèšèªãGraphQLã䜿çšããŠãè€æ°ã®ãµãŒããŒã¬ã¹é¢æ°ããããŒã¿ãéçŽããããã³ããšã³ãã«åäžã®å¿çãè¿ãããšãã§ããŸãã
- RxJSãŸãã¯ãã®ä»ã®ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ã©ã€ãã©ãªïŒãªã¢ã¯ãã£ãããã°ã©ãã³ã°ã©ã€ãã©ãªã¯ãéåæããŒã¿ã¹ããªãŒã ã®ç®¡çãšè€éãªã¯ãŒã¯ãããŒã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®ããã®åŒ·åãªããŒã«ãæäŸããŸãããããã®ã©ã€ãã©ãªã䜿çšããŠããµãŒããŒã¬ã¹é¢æ°ãé£éããããšã©ãŒãé©åã«åŠçã§ããŸãã
- ã«ã¹ã¿ã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããžãã¯ïŒããåçŽãªã·ããªãªã§ã¯ãJavaScriptãŸãã¯TypeScriptã䜿çšããŠã«ã¹ã¿ã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããžãã¯ãå®è£ ã§ããŸããããã«ã¯ããã§ãŒã³å ã®å颿°ãæåã§åŒã³åºãã1ã€ã®é¢æ°ã®åºåãæ¬¡ã®é¢æ°ã®å ¥åãšããŠæž¡ãããšãå«ãŸããŸãã
颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®ãã¹ããã©ã¯ãã£ã¹
颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã广çã§ä¿å®å¯èœã§ããããšãä¿èšŒããããã«ã次ã®ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠãã ããã
- 颿°ãå°ããçŠç¹ãçµãïŒå颿°ã¯ãåäžã®æç¢ºã«å®çŸ©ããã責任ãæã€å¿ èŠããããŸããããã«ãããçè§£ããã¹ããããã³ä¿å®ã容æã«ãªããŸãã
- ãããããã颿°åã䜿çšããïŒç®çãæç¢ºã«èª¬æãã颿°åãéžæããŸããããã«ãããã³ãŒãã®å¯èªæ§ãšä¿å®æ§ãåäžããŸãã
- ãšã©ãŒãé©åã«åŠçããïŒå颿°ã«é©åãªãšã©ãŒåŠçãå®è£ ããŠããã§ãŒã³å šäœã®å€±æãé²ããŸããtry-catchãããã¯ãŸãã¯ãã®ä»ã®ãšã©ãŒåŠçã¡ã«ããºã ã䜿çšããŠãäŸå€ããã£ããããŠåŠçããŸãã
- 颿°å®è¡ããã°ã«èšé²ããïŒå颿°å ã®éèŠãªã€ãã³ããšããŒã¿ããã°ã«èšé²ããŠããã®åäœãšããã©ãŒãã³ã¹ã«é¢ããæŽå¯ãæäŸããŸããããã¯ãåé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãšã¢ããªã±ãŒã·ã§ã³ã®æé©åã«åœ¹ç«ã¡ãŸãã
- ããŒãžã§ãã³ã°ã䜿çšããïŒãµãŒããŒã¬ã¹é¢æ°ãããŒãžã§ã³ç®¡çããŠã1ã€ã®é¢æ°ãžã®å€æŽãã¢ããªã±ãŒã·ã§ã³ã®ä»ã®éšåãç Žæãããªãããã«ããŸããããã«ãããæŽæ°ãå®å šã«ãããã€ããå¿ èŠã«å¿ããŠä»¥åã®ããŒãžã§ã³ã«ããŒã«ããã¯ã§ããŸãã
- 颿°ããã©ãŒãã³ã¹ãç£èŠããïŒãã§ãŒã³å ã®å颿°ã®ããã©ãŒãã³ã¹ãç£èŠããŠãããã«ããã¯ãç¹å®ãããªãœãŒã¹ã®äœ¿çšçãæé©åããŸãããµãŒããŒã¬ã¹ãã©ãããã©ãŒã ãŸãã¯ãµãŒãããŒãã£ã®ç£èŠãµãŒãã¹ã«ãã£ãŠæäŸãããç£èŠããŒã«ã䜿çšããŸãã
- ã»ãã¥ãªãã£ãžã®åœ±é¿ãèæ ®ããïŒäžæ£ã¢ã¯ã»ã¹ãããŒã¿äŸµå®³ãé²ãããã«ããµãŒããŒã¬ã¹é¢æ°ãä¿è·ããŸããèªèšŒããã³æ¿èªã¡ã«ããºã ã䜿çšããŠã颿°ãžã®ã¢ã¯ã»ã¹ãå¶åŸ¡ããŸãã
- 颿°ãã§ãŒã³ãææžåããïŒãã§ãŒã³å ã®å颿°ã®ç®çãå ¥åãããã³åºåãææžåããŠãä»ã®éçºè ãçè§£ããŠä¿å®ããããããŸãã
- ãµãŒããããã¬ãŒã«ãŒãå®è£ ããïŒåæ£ã·ã¹ãã ã§ã¯ããµãŒããããã¬ãŒã«ãŒãã¿ãŒã³ã¯ã«ã¹ã±ãŒãé害ãé²ãããšãã§ããŸãããã§ãŒã³å ã®é¢æ°ãäžè²«ããŠå€±æããå ŽåããµãŒããããã¬ãŒã«ãŒã¯ããã®é¢æ°ãžã®ãã以äžã®åŒã³åºããäžæçã«é²æ¢ããã·ã¹ãã ãå埩ã§ããããã«ããŸãã
äžè¬çãªèª²é¡ãšèæ ®äºé
颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã«ã¯å€ãã®å©ç¹ããããŸãããæœåšçãªèª²é¡ãšèæ ®äºé ãèªèããããšãéèŠã§ãã
- ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®è€éãïŒç¹ã«é¢æ°ãšäŸåé¢ä¿ã®æ°ãå¢ããã«ã€ããŠãè€éãªé¢æ°ãã§ãŒã³ã®ç®¡çãå°é£ã«ãªãå¯èœæ§ããããŸããAWS Step Functionsãã«ã¹ã¿ã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããžãã¯ãªã©ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŒã«ã䜿çšãããšããã®è€éãã管çã§ããŸãã
- ã³ãŒã«ãã¹ã¿ãŒãïŒãµãŒããŒã¬ã¹é¢æ°ã¯ã³ãŒã«ãã¹ã¿ãŒããçºçããå¯èœæ§ããããå šäœçãªå®è¡æéã«é å»¶ã远å ãããå¯èœæ§ããããŸãã颿°ã³ãŒããæé©åããããããžã§ãã³ã°ãããåæå®è¡ã䜿çšãããšãã³ãŒã«ãã¹ã¿ãŒãã®åé¡ã軜æžã§ããŸãã
- ããŒã¿ã®ã·ãªã¢ã«åãšãã·ãªã¢ã«åïŒé¢æ°éã§ããŒã¿ãæž¡ãã«ã¯ãã·ãªã¢ã«åãšãã·ãªã¢ã«åãå¿ èŠã§ããããªãŒããŒãããã远å ãããå¯èœæ§ããããŸããJSONãProtocol Buffersãªã©ã®å¹ççãªããŒã¿åœ¢åŒã䜿çšãããšããã®ãªãŒããŒããããæå°éã«æããããšãã§ããŸãã
- ãããã°ãšãã©ãã«ã·ã¥ãŒãã£ã³ã°ïŒã·ã¹ãã ã®åæ£æ§è³ªã®ããã颿°ãã§ãŒã³ã®ãããã°ãšãã©ãã«ã·ã¥ãŒãã£ã³ã°ã¯å°é£ã«ãªãå¯èœæ§ããããŸãããã®ã³ã°ããã³ç£èŠããŒã«ã䜿çšãããšãåé¡ãç¹å®ããŠè§£æ±ºã§ããŸãã
- ã»ãã¥ãªãã£ã«é¢ããèæ ®äºé ïŒé¢æ°ãã§ãŒã³ã®ã»ãã¥ãªãã£ã確ä¿ããã«ã¯ãã¢ã¯ã»ã¹å¶åŸ¡ãããŒã¿æå·åãããã³ãã®ä»ã®ã»ãã¥ãªãã£å¯Ÿçãæ éã«æ€èšããå¿ èŠããããŸããå®å šãªã³ãŒãã£ã³ã°ãã©ã¯ãã£ã¹ã䜿çšãããµãŒããŒã¬ã¹ãã©ãããã©ãŒã ã®ã»ãã¥ãªãã£ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠãã ããã
- ã³ã¹ãæé©åïŒãµãŒããŒã¬ã¹é¢æ°ã¯äœ¿çšéã«åºã¥ããŠèª²éããããããã³ã¹ããæå°éã«æããããã«ã颿°ã³ãŒããšãªãœãŒã¹ã®äœ¿çšçãæé©åããããšãéèŠã§ãã颿°å®è¡æéãšã¡ã¢ãªäœ¿çšéãç£èŠããŠãæé©åã®æ©äŒãç¹å®ããŸãã
ããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°åæã®å°æ¥
ããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°åæã¯ãæ¥éã«é²åããŠããåéã§ãããã€ãããŒã·ã§ã³ã®å€§ããªå¯èœæ§ãç§ããŠããŸãããµãŒããŒã¬ã¹ãã©ãããã©ãŒã ãæçãç¶ããæ°ããããŒã«ãšãã¯ãããžãŒãç»å Žããã«ã€ããŠã颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®ããã«æŽç·Žããã匷åãªã¢ããªã±ãŒã·ã§ã³ãèŠããããšäºæ³ãããŸãã
å°æ¥ã®æœåšçãªãã¬ã³ãã«ã¯ã次ã®ãã®ããããŸãã
- GraphQLã®æ¡çšã®å¢å ïŒGraphQLã¯ãè€æ°ã®ãµãŒããŒã¬ã¹é¢æ°ããããŒã¿ãéçŽããããã³ããšã³ãã«çµ±åãããAPIãæäŸããäžã§ãããã«äººæ°ãé«ãŸãå¯èœæ§ããããŸãã
- ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŒã«ã®æ¹åïŒãµãŒããŒã¬ã¹ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŒã«ã¯ããããŠãŒã¶ãŒãã¬ã³ããªãŒã«ãªããããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°ã®ãµããŒããåäžããŸãã
- AIãæŽ»çšãã颿°åæïŒäººå·¥ç¥èœã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ã®èŠä»¶ã«åºã¥ããŠãµãŒããŒã¬ã¹é¢æ°ãèªåçã«åæã§ããŸãã
- ãšããžã³ã³ãã¥ãŒãã£ã³ã°ïŒãµãŒããŒã¬ã¹é¢æ°ã¯ãã¬ã€ãã³ã·ãåæžããããŸããŸãªå°ççãªå Žæã®ãŠãŒã¶ãŒã®ããã©ãŒãã³ã¹ãåäžãããããã«ããšããžã®è¿ãã«ãããã€ãããŸãã
- ããã³ããšã³ãçšã®ãµãŒããŒã¬ã¹ãã¬ãŒã ã¯ãŒã¯ïŒããã³ããšã³ããµãŒããŒã¬ã¹ã¢ããªã±ãŒã·ã§ã³ã®éçºãšãããã€ãç°¡çŽ åããããã«ãç¹æ®ãªãã¬ãŒã ã¯ãŒã¯ãç»å ŽããŸãã
çµè«
ããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°åæãç¹ã«é¢æ°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯ãã¹ã±ãŒã©ãã«ã§ä¿å®å¯èœããã€é«æ§èœãªWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®åŒ·åãªã¢ãããŒããæäŸããŸããè€éãªããã³ããšã³ãããžãã¯ããããå°ãããåå©çšå¯èœãªé¢æ°ã«åå²ããããããæç¢ºã«å®çŸ©ãããã¯ãŒã¯ãããŒã«ç·šæããããšã§ãéçºããã»ã¹ãå€§å¹ ã«æ¹åããåè¶ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãäœæã§ããŸãã
èæ ®ãã¹ã課é¡ã¯ãããŸããã颿°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®å©ç¹ã¯æ¬ ç¹ãã¯ããã«äžåããŸãããã¹ããã©ã¯ãã£ã¹ã«åŸããé©åãªããŒã«ãšãã¯ãããžãŒã掻çšããããšã§ãããã³ããšã³ããµãŒããŒã¬ã¹ã®å¯èœæ§ãæå€§éã«åŒãåºããã°ããŒãã«ãªèŠèŽè åãã®çã«é©æ°çãªWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã
ãµãŒããŒã¬ã¹ãšã³ã·ã¹ãã ãé²åãç¶ããã«ã€ããŠãããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°åæã¯ãææ°ã®Webã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ãŸããŸãéèŠãªææ³ã«ãªããŸãããã®ã¢ãããŒããæ¡çšããããšã§ãWebã®çµ¶ãéãªãå€åããèŠæ±ã«é©å¿ã§ãããããæè»ã§ã¹ã±ãŒã©ãã«ããã€ä¿å®å¯èœãªã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
ãã®ã¬ã€ãã§ã¯ãããã³ããšã³ããµãŒããŒã¬ã¹é¢æ°åæãšé¢æ°ãã§ãŒã³ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®å æ¬çãªæŠèŠãæäŸããŸããäŸã詊ããŠãèšåãããŠããããŒã«ãšãã¯ãããžãŒã調ã¹ãŠã仿¥ããç¬èªã®ãµãŒããŒã¬ã¹ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ãéå§ããŠãã ããïŒ